package com.liuyu.common.framework.rocketmq.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @ClassName HmbInfo
 * @Author: liuyu
 * @Date: Created in 2021/8/16 15:29
 * @Version: 1
 * @Modified By:
 */
@Data
public class HmbInfo {
    @Schema(description = "产品名称")
    private String productName;

    @Schema(description = "订单号,唯一值")
    private String orderNo;

    @Schema(description = "投保人名称")
    private String appliName;

    @Schema(description = "投保人证件类型")
    private String appliIdType;

    @Schema(description = "投保人证件号")
    private String appliIdNo;

    @Schema(description = "投保人手机号")
    private String mobile;

    @Schema(description = "投保人邮箱")
    private String email;

    @Schema(description = "与投保的关系")
    private String relationType;

    @Schema(description = "被保险人名称")
    private String insuredName;

    @Schema(description = "被保险人证件类型")
    private String insuredIdType;

    @Schema(description = "被保险人证件号")
    private String insuredIdNo;

    @Schema(description = "保额")
    private BigDecimal amount;

    @Schema(description = "保费")
    private BigDecimal premium;

    @Schema(description = "下单时间(支付时间),精确到秒")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Long orderDate;

    @Schema(description = "渠道码")
    private String agentCode;

    @Schema(description = "渠道名称")
    private String agentName;

    /**
     * 对应字段：agent_name1,备注：agent_name1[新增]
     */
    @Schema(description = "agent_name1[新增]")
    private String agentName1;
    /**
     * 对应字段：agent_name2,备注：agent_name2[新增]
     */
    @Schema(description = "agent_name2[新增]")
    private String agentName2;
    /**
     * 对应字段：agent_name3,备注：agent_name3[新增]
     */
    @Schema(description = "agent_name3[新增]")
    private String agentName3;
    /**
     * 对应字段：agent_name4,备注：agent_name4[新增]
     */
    @Schema(description = "agent_name4[新增]")
    private String agentName4;
    /**
     * 对应字段：agent_name5,备注：agent_name5[新增]
     */
    @Schema(description = "agent_name5[新增]")
    private String agentName5;
    /**
     * 对应字段：pay_type,备注：pay_type[新增]
     */
    @Schema(description = "pay_type[新增]")
    private String payType;


    @Schema(description = "部门代码")
    private String comCode;

    @Schema(description = "部门名称")
    private String comName;

    @Schema(description = "业务员代码")
    private String handlerCode;

    @Schema(description = "业务员名称")
    private String handlerName;

    @Schema(description = "公众号openId")
    private String openId;

    @Schema(description = "公众号unionId")
    private String unionId;

    @Schema(description = "订单有效标志位,0无效(退保),1有效")
    private String validStatus;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endDate;
}
